Recently, a technique for transmitting streaming data such as video and audio data in a real time from a transmission terminal to a reception terminal through a best effort network which is typified by the Internet is becoming widespread. In data transmission through the best effort network, when the transmission rate which is set in a transmission terminal is larger than the network bandwidth, congestion occurs on the network. Therefore, a transmission terminal changes the transmission rate of streaming data in accordance with an available bandwidth which is changed by the congestion situation, the channel situation, and the like of a network between the transmission terminal and a destination terminal.
As a congestion control technique specialized for real-time data transmission through a best effort network, the TFRC (TCP Friendly Rate Control) disclosed in Non-Patent Literature 1 is known. A terminal using the TFRC calculates a transmission rate X by using following Expression (1) from the RTT (Round Trip Time) showing the round-trip delay time of data between terminals, the packet loss situation, and the like.
                    [                  Exp          .                                          ⁢          1                ]                                                            X        =                              8            ⁢            s                                              R              ⁢                                                2                  ⁢                  b                  ⁢                                                                          ⁢                                      P                    /                    3                                                                        +                          T_RTO              ⁢                              (                                  3                  ×                                                            3                      ⁢                      b                      ⁢                                                                                          ⁢                                              P                        /                        8                                                                                            )                            ×              P              ×                              (                                  1                  +                                      32                    ⁢                                          P                      2                                                                      )                                                                        (        1        )            
In Expression (1) above, X [bps] is a transmission rate corresponding to a bandwidth that is estimated to be available in a communication through a network, s is the packet size [byte], R is the RTT [sec.], and b is a constant. T_RTO is a value indicating the time-out by the TCP protocol, and 4R is used as the value. P is the loss event rate indicating the packet loss situation. The loss event rate P is a loss rate which is defined so that the TFRC performs a smooth transmission rate control. The packet loss which occurs in one round trip time is counted as one loss event. The rate is calculated by using the history of the loss event.
FIG. 8 is a graph showing a method which is disclosed in Non-Patent Literature 2, and in which the loss event rate is calculated by using the history of loss events. The ordinate 21 shown in FIG. 8 indicates a sequential number in a packet, and the abscissa 22 indicates an elapse of time. The plot 23 of arrival packets (□, Packet Arrival) indicates the time when a packet arrives at a reception terminal, and the sequential number at the time. The plot 24 of lost packets (x, Packet Lost) indicates the time when a loss event occurs, and the sequential number at the time.
The arrival packet number 25 from the latest loss indicates the number of packets which arrive at the reception terminal after occurrence of the latest event loss. The loss event intervals 261 to 268 indicate the number of packets which arrive at the reception terminal between loss events. The weights 271 to 278 indicate weights to be multiplied with the corresponding loss event intervals 26. The weighted event losses 281 to 288 are obtained by multiplying the loss event interval 26 with the weight 27.
In the TFRC, as shown in FIG. 8, the reciprocal of a weighted loss event interval which is obtained by weighted averaging the loss event intervals 26 of past eight generations is calculated as the loss event rate (P). The loss event interval is obtained by (loss event interval 261×weight 271+ . . . +loss event interval 268×weight 278)/(weight 271+ . . . +weight 278). In the TFRC, as described above, a weighted loss event rate which is calculated by using the history of the loss event is used as one of parameters, whereby the transmission rate is controlled so as to be smoothly changed. From the opposite viewpoint, when the bandwidth which is available in a communication with a destination terminal is rapidly changed, however, the TFRC cannot immediately change the transmission rate to an appropriate value.
The above-described technique is used in, for example, a video conference system. FIG. 9 shows an example of the configuration of a video conference system which uses a best effort network. In the video conference system shown in FIG. 9, terminals 11, 12, 13 which transmit and receive streaming data such as video and audio data are disposed. In each of the terminals, the transmission rate is set by using the above-described TFRC.
The terminals 11, 12 are connected to each other so as to be communicable through a domestic network ND. The terminal 13 is connected to the terminals 11, 12 so as to be communicable through the domestic network ND, an overseas line L, and an overseas network NA. In the example described below, both the domestic network ND and the overseas network NA can realize broad bandwidth transmission of, for example, 10 Mbps. In transmission through the overseas line L, however, the overseas line L is a bottleneck, and the bandwidth is limited to about 2 Mbps.
In the video conference system, the transmission rate is set in accordance with the bandwidth which is narrowest among the bandwidths used in a communication between terminals. In the case where the terminals 11, 12, 13 perform a three-way communication, for example, the terminals set the transmission rate in accordance with the actual performances of communications through the domestic network ND, the overseas line L, and the overseas network NA. In this example, the domestic network ND and the overseas network NA can realize transmission of about 10 Mbps, but the overseas line L can realize only transmission of about 2 Mbps. Therefore, the terminals set the transmission rate to 2 Mbps.
It is assumed that, in a situation where the three-way communication is performed by the terminals 11, 12, 13, the terminal 13 interrupts communication, and the three-way communication is switched to a two-way communication between the terminals 11, 12 using only the domestic network ND. At this time, the terminals 11, 12 set the transmission rate in accordance with the actual performance of the communication through only the domestic network ND. In this example, the domestic network ND can realize transmission of about 10 Mbps. Therefore, the terminals 11, 12 change the transmission rate from 2 Mbps to 10 Mbps.